package cn.avalon.exception;

import cn.avalon.enums.GlobalErrorCode;
import lombok.Data;

/**
 * @description: 自定义全局异常
 * @author: Avalon
 * @date: 2022年09月24日 ： 10:48
 * @version: ver1.0
 * @email 709785494@qq.com
 */
@Data
public class GlobalCustomException extends RuntimeException {

    // 异常信息
    private String errorMessage;

    // 异常码
    private String errorCode;

    // 无参构造
    public GlobalCustomException() {
        super();
    }

    // 有参构造
    public GlobalCustomException(String errorMessage, String errorCode) {
        super(errorMessage);
        this.errorMessage = errorMessage;
        this.errorCode = errorCode;
    }

    // 有参构造
    public GlobalCustomException(GlobalErrorCode globalErrorCode) {
        super(globalErrorCode.getMessage());
        this.errorMessage = globalErrorCode.getMessage();
        this.errorCode = globalErrorCode.getCode();
    }

    public GlobalCustomException(String errorMessage) {
        super(errorMessage);
        this.errorMessage = errorMessage;
    }
}
